#ifndef _HASSCRIPTENTITY_H
#define _HASSCRIPTENTITY_H

#include <string>
#include <map>

class HasScriptHandler
{
public:
    HasScriptHandler();
    virtual ~HasScriptHandler();

    bool    addEventHandler(const std::string& aEventName, const std::string& aFileName, const std::string& aFuncName, bool aCheckExist = false);
    void    delEventHandler(const std::string& aEventName);
public:
    void    notify(const std::string& aEventName);
private:

    struct EventHandler
    {
        std::string    scriptFileName;
        std::string    scriptFuncName;
    };
    
    typedef    std::map<std::string, EventHandler> EventHandlerListType;
    EventHandlerListType    m_eventHandlerList;
};
#endif